home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / old-empire.g < prev    next >
Text File  |  1998-05-22  |  5KB  |  257 lines

  1. (game-module "old-empire"
  2.   (title "Old Empire")
  3.   (blurb "An emulation of `old Empire', a distant ancestor of Xconq.")
  4.   ;; No variants were available.
  5. )
  6.  
  7. ;;; Types.
  8.  
  9. (unit-type army (char "A") (image-name "soldiers"))
  10. (unit-type fighter (char "F") (image-name "jets"))
  11. (unit-type destroyer (char "D") (image-name "dd"))
  12. (unit-type submarine (char "S") (image-name "sub"))
  13. (unit-type troop-transport (char "T") (image-name "ap"))
  14. (unit-type cruiser (char "R") (image-name "ca"))
  15. (unit-type carrier (char "C") (image-name "cv"))
  16. (unit-type battleship (char "B") (image-name "bb"))
  17. (unit-type city (char "@") (image-name "city20"))
  18.  
  19. ;;; avgas is used only to constrain fighter range.
  20.  
  21. (material-type avgas)
  22.  
  23. (terrain-type sea (char "."))
  24. (terrain-type land (image-name "plains") (char "+"))
  25.  
  26. (define A army)
  27. (define F fighter)
  28. (define D destroyer)
  29. (define S submarine)
  30. (define T troop-transport)
  31. (define R cruiser)
  32. (define C carrier)
  33. (define B battleship)
  34. (define @ city)
  35.  
  36. (define ship (D S T R C B))
  37.  
  38. (add sea liquid true)
  39.  
  40. ;;; Static relationships.
  41.  
  42. (table vanishes-on
  43.   ((A @) sea true)
  44.   (ship land true)
  45.   )
  46.  
  47. ;;; Unit-unit capacities.
  48.  
  49. (table unit-capacity-x
  50.   (T A 6)
  51.   (C F 8)
  52.   )
  53.  
  54. (add @ capacity 100)
  55.  
  56. (table unit-size-as-occupant
  57.   (A @ 50)
  58.   (F @ 1)
  59.   (ship @ 1)
  60.   ;; Cities can't occupy each other.
  61.   (@ @ 200)
  62.   )
  63.  
  64. ;;; Unit-terrain capacity is the default of 1 unit, 1 cell.
  65.  
  66. ;;; Unit-material capacities.
  67.  
  68. (table unit-storage-x
  69.   (F avgas 20)
  70.   ;; Carriers and cities have effectively infinite storage.
  71.   ((C @) avgas 9999)
  72.   )
  73.  
  74. ;;; Actions.
  75.  
  76. (add (A F) acp-per-turn (1 4))
  77. (add ship acp-per-turn 2)
  78. (add @ acp-per-turn 1)
  79.  
  80. ;;; Movement.
  81.  
  82. (add @ speed 0)
  83.  
  84. (table mp-to-enter-terrain
  85.   (army sea 10)
  86.   (ship land 10)
  87.   )
  88.  
  89. (table mp-to-enter-unit
  90.   (u* u* 1)
  91.   ; Aircraft can't sortie again until next turn.
  92.   (F u* 4)
  93.   )
  94.  
  95. (add F free-mp 4)
  96.  
  97. (table consumption-per-move
  98.   (F avgas 1)
  99.   )
  100.  
  101. ;;; Construction.
  102.  
  103. (add u* cp (5 10 20 30 25 50 60 75 1))
  104.  
  105. (table acp-to-create
  106.   (@ u* 1)
  107.   (@ @ 0)
  108.   )
  109.  
  110. (table cp-on-creation
  111.   (@ u* 1)
  112.   )
  113.  
  114. (table acp-to-build
  115.   (@ u* 1)
  116.   )
  117.  
  118. (table cp-per-build
  119.   (@ u* 1)
  120.   )
  121.  
  122. (table acp-to-toolup
  123.   (@ u* 1)
  124.   )
  125.  
  126. (table tp-to-build
  127.   (@ u* (1 2 4 6 5 10 12 15 0))
  128.   )
  129.  
  130. (table tp-max
  131.   (@ u* (1 2 4 6 5 10 12 15 0))
  132.   )
  133.  
  134. ;;; Combat.
  135.  
  136. (add u* hp-max (1 1 3 3 2 8 8 12 1))
  137.  
  138. ;; Units are generally crippled, moving at half speed,
  139. ;; at about 1/2 of hp-max, sometimes rounding up, sometimes down.
  140.  
  141. (add D speed-damage-effect ((1 50) (2 100) (3 100)))
  142. (add S speed-damage-effect ((1 50) (2 100) (3 100)))
  143. (add T speed-damage-effect ((1 50) (2 100)))
  144. (add R speed-damage-effect ((1 50) (4  50) (5 100) (8 100)))
  145. (add C speed-damage-effect ((1 50) (4  50) (5 100) (8 100)))
  146. (add B speed-damage-effect ((1 50) (6  50) (7 100) (12 100)))
  147.  
  148. (table hit-chance
  149.   (u* u* 50)
  150.   ;; Cities don't participate in combat.
  151.   (u* @ 0)
  152.   (@ u* 0)
  153.   ;; ...except vs armies.
  154.   (A @ 50)
  155.   (@ A 50)
  156.   )
  157.  
  158. (table damage
  159.   (u* u* 1)
  160.   ;; Subs hit ships harder.
  161.   (S ship 3)
  162.   ;; Armies don't damage cities.
  163.   (A @ 0)
  164.   )
  165.  
  166. (table capture-chance
  167.   (A @ 50)
  168.   )
  169.  
  170. (table hp-to-garrison
  171.   ;; Use up the capturing army.
  172.   (A @ 1)
  173.   )
  174.  
  175. ;;; Backdrop.
  176.  
  177. (table base-consumption
  178.   (F avgas 4)
  179.   )
  180.  
  181. (table base-production
  182.   ((C @) avgas 9999)
  183.   )
  184.  
  185. (table hp-per-starve
  186.   (F avgas 1.00)
  187.   )
  188.  
  189. (table auto-repair
  190.   ;; Cities repair 1 hp of damage each turn for each ship occupant.
  191.   (city ship 1.00)
  192.   )
  193.  
  194. ;;; Scoring.
  195.  
  196. (add u* point-value 0)
  197. (add @ point-value 1)
  198.  
  199. (scorekeeper (do last-side-wins))
  200.  
  201. ;;; Text.
  202.  
  203. (set action-notices '(
  204.   ((destroy u* F) (actor " shoots down " actee "!"))
  205.   ((destroy u* ship) (actor " sinks " actee "!"))
  206.   ))
  207.  
  208. (set event-notices '(
  209.   ((unit-starved F) (0 "runs out of fuel and crashes"))
  210.   ))
  211.  
  212. (set event-narratives '(
  213.   ((unit-starved F) (0 "ran out of fuel and crashed"))
  214.   ))
  215.  
  216. ;;; Random setup.
  217.  
  218. (add t* alt-percentile-min (0 70))
  219. (add t* alt-percentile-max (70 100))
  220. (add t* wet-percentile-min 0)
  221. (add t* wet-percentile-max 100)
  222.  
  223. (set country-radius-min 3)
  224.  
  225. (set country-separation-min 15)
  226.  
  227. (add t* country-terrain-min (2 1))
  228.  
  229. (add city start-with 1)
  230. (add city independent-near-start 3)
  231.  
  232. (table favored-terrain
  233.   (city (sea land) (0 100))
  234.   )
  235.  
  236. (table independent-density
  237.   (city land 200)
  238.   )
  239.  
  240. (table unit-initial-supply
  241.   (@ avgas 9999)
  242.   )
  243.  
  244. (game-module (notes (
  245.   "Of course, this will not be exactly like old Empire - for one thing, Xconq maps"
  246.   "are composed of hexes and not squares!  However, we can reproduce the details"
  247.   "of the playing pieces fairly well."
  248.   ""
  249.   "The chief defects are that combat is always mutual, rather than"
  250.   "one-side-at-a-time hits, and that cities must have capacity for armies."
  251.   "In the latter case, this period fixes an annoying defect of the original"
  252.   "empire game!  Also, some of the messages are a little weird."
  253.   ""
  254.   "There is also an imbalance in that ships defeating armies don't run"
  255.   "aground, so they are more useful than in the original."
  256. )))
  257.